package com.shopping.system.mapper;

import com.shopping.common.entity.Good;
import com.shopping.common.entity.GoodSku;
import com.shopping.common.entity.vo.GoodSecondSkillVo;
import com.shopping.common.entity.vo.GoodSkuSecondSkillVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface SystemMapper {

    /**
     * 查找此时段开始的秒杀活动
     * @return
     */
    List<GoodSecondSkillVo> findVoliadSecondSkillGood(@Param("date") Date date);

    /**
     * 查找可同步商品
     * @return
     */
    List<Good> findVoliadAddEsGood();

    /**
     * 修改同步商品信息
     * @param list
     */
    void updateAddedGood(@Param("list") List<Good> list);

    /**
     * 查找所有商品sku
     * @return
     */
    List<GoodSku> findGoodSku();

    /**
     * 查找所有商品
     * @return
     */
    List<Good> findGood();

    /**
     * 查找商品详情
     * @param id
     * @return
     */
    GoodSecondSkillVo findGoodMore(@Param("id") String id);

    /**
     * 查找商品sku
     * @param id
     * @return
     */
    List<GoodSkuSecondSkillVo> findGoodSkuList(@Param("id") String id);

    /**
     * 加入购物车
     * @param buyNum
     * @param goodSkuChecked
     * @param id
     */
    void addShopCar(@Param("buyNum") Integer buyNum, @Param("goodSkuChecked") Integer goodSkuChecked, @Param("id") Integer id);

    /**
     * 是否加入该商品
     * @param goodSkuChecked
     * @return
     */
    Integer findIsAddGood(@Param("goodSkuChecked") Integer goodSkuChecked);

    /**
     * 修改购物车数量
     * @param goodSkuChecked
     * @param buyNum
     */
    void addShopCarUpdateNum(@Param("goodSkuChecked") Integer goodSkuChecked, @Param("buyNum") Integer buyNum);
}
